package ar.frba.utn.diseñosistemas.TP2;

import java.util.ArrayList;

public class ConRecargo implements IBuscador {

	private float recargo;
	private IBuscador decorado;
	
	public ConRecargo(IBuscador decorado, float recargo)
	{
		this.decorado = decorado;
		this.recargo = recargo;
	}
	
	@Override
	public ArrayList<Itinerario> Buscar(Busqueda unaBusqueda) 
	{
		ArrayList<Itinerario> resultado_itinerario = new ArrayList<Itinerario>();
		ArrayList<Itinerario> itinerarios = decorado.Buscar(unaBusqueda);
		
		for (Itinerario itinerario : itinerarios)
		{
			ArrayList<Asiento> resultado_asiento = new ArrayList<Asiento>();
			
			for (Asiento asiento : itinerario.getAsientos())
			{
				Asiento clon = asiento.clonar();
				clon.setPrecio(clon.getPrecio() + recargo);
				resultado_asiento.add(clon);
			}
			
			resultado_itinerario.add(new Itinerario().setAsientos(resultado_asiento));
		}
		return resultado_itinerario;
	}
}
